package sv.gob.mh.dgii.service.rc;

import java.sql.SQLException;
import java.util.List;
import org.apache.commons.beanutils.DynaBean;
import sv.gob.mh.dgii.dao.hibernate.Dao;
import sv.gob.mh.dgii.model.ImSolicitud;
import sv.gob.mh.dgii.model.RcRuc;

//REMOTE
public interface RcRucService extends Dao {
    
    public String EL_SALVADOR = "9300";

    public RcRuc findByNit(String nit);

    public List findByTipoContrib(RcRuc contributor);

    public String getNit(RcRuc contrib);

    public String getDireccion(String nit, String tipoDireccion)
            throws Exception;

    public String getCaracterTributario(String nit, String tipoCaracter)
            throws Exception;

    public String getFechaIngreso(String nit) throws Exception;

    public String getRepresentante(String nit) throws Exception;

    public long getDigitoChequeo(String nitRaiz);

    public int getCorrelativo(String nitRaiz);

    public String getRiesgo(RcRuc contrib, List<RcRuc> contList);

    public List<RcRuc> fillRiesgos(List<RcRuc> contList);

    public void activateContributor(String nit);

    public void deactivateContributor(String nit);

    /**
     * dynabean con la informacion de la tarjeta de nit
     *
     * @param nit
     * @return
     */
    public DynaBean getInfoTarjetaNit(String nit);

    /**
     * dynabean con la informacion de la tarjeta de nrc
     *
     * @param nrc
     * @return
     */
    public DynaBean getInfoTarjetaNrc(String nit);

    public boolean validateContributor(String nit);

    public void termino(Object[] params) throws SQLException;

    public List getRiskList(RcRuc contrib);

    public String findNombreByNit(String nit);

    public List<DynaBean> findVehiculos(String nit);

    public List<DynaBean> findBienesRaices(String nit);

    public List<DynaBean> findCasoxTecnico(String nit, String nit2);

    public List<DynaBean> findCasos(String nit, String anio);

    public List<DynaBean> findAduanasImportaciones(String nit, String fini, String ffin);

    public List<DynaBean> findAduanasInternaciones(String nit, String fini, String ffin);

    public List<DynaBean> findAduanasExportaciones(String nit, String fini, String ffin);

    public List<DynaBean> findAduanasReexportaciones(String nit, String fini, String ffin);

    public List<DynaBean> findCasoxSupervisor(String nitUsuario, String key, String tipo);

    public List<DynaBean> findUnixTec(String nitUsuario);

    public boolean isBienestar(String nit);

    public boolean isIpsfa(String nit);

    public RcRuc findRepresentanteDeImSolicitud(ImSolicitud imSolicitud);

    public RcRuc findPropietarioDeImSolicitud(ImSolicitud imSolicitud);    
    
    
}// class